An important development in the technology of networking was the separation of the physical address from the logical address of a node. Although all physically addressable nodes can listen in to a message, the physical address attached to the message determines which nodes listen to the remainder of the message. The separation of the physical address from the logical address makes routing possible. When a node sends a message addressed to a particular logical address, that node actually only determines, by the use of routing tables and other information, to which physically addressable node it should forward the message. The receiving node determines, by the physical address attached to the message, to listen to the message. By the logical address, the receiving node determines whether, in turn, to forward the message and determines by routing tables, how to get the attention of the appropriate node or nodes to forward the message.
IP (Internet Protocol) Multicasting uses a special set of IP addresses (‘Class D’) each of which represents not an individual node but a potentially broadly distributed set of nodes that all wish to be recipients of the same messages. Correspondingly, IP (Multicasting uses physical addresses that are not uniquely assigned to an individual node, but rather to a self-selected set of nodes that set themselves up to pay attention to messages with that physical address.
In order to distribute multicast messages, a collection of routers is set up (the Multicast Backbone, or MBONE), all of which are set up to listen for incoming multicast messages and to relay the messages to all their subnets for which there is at least one node that is interested in receiving the messages. The routers obtain this information about interested nodes by periodically broadcasting a query to that effect across each of their subnets. Those nodes that are interested in receiving the class of messages indicated in the query respond positively to the query, but only after listening for a random amount of time to find out if any other nodes respond (in which case the nodes do not need to respond.) This system prevents a network-paralyzing flood of responses. If the router has gotten a positive response for a particular class of messages, the router will in turn respond positively when queried about this same class. In this way, the ‘interest’ in a particular class of messages propagates upstream, whereas the messages propagate downstream. Through this mechanism, all interested nodes are reached with the minimum number of packets possible.